package com.jy.wms.dao;


import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @ClassName: WmsReceivingMapper.java
* @Description: TODO(这里用一句话描述这个类的作用)
* @Author JaneLiu
* @Date Tue Sep 26 17:30:08 CST 2017
*/
public interface WmsReceivingMapper extends BaseDao<WmsReceiving> {

/**
 * 插入多条记录——Jane
 * @param list 实体对象集合
 * @return int
 */
 public Integer baseInsert(@Param("list") List<WmsReceiving> list);

/**
 * 插入一条记录（匹配有值的字段）
 * @param entity 实体对象
 * @return int
 */
public Integer baseInsertSelective(@Param("WmsReceiving") WmsReceiving entity);

/**
 * 删除（根据主键ID删除）
 * @param id 主键
 * @return int
 */
public Integer baseDeleteByPrimaryKey(@Param("id") String id);

/**
 * 删除（根据ID 批量删除）
 * @param idList 主键ID列表
 * @return int
 */
 public Integer baseDeleteBathPrimaryKeys(@Param("list") List<String> idList);


 /**
 * 分页查询
 * @param entity 实体
 * @return List<WmsReceiving>
 */
 public List<WmsReceiving>  baseSelectPage(@Param("WmsReceiving") WmsReceiving entity);

 /**
 * 查询（根据主键ID查询）
 * @param id 主键ID
 * @return User
 */
 public WmsReceiving  baseSelectByPrimaryKey(@Param("id") String id);

/**
 * 查询（根据ID 批量查询）
 * @param idList 主键ID列表
 * @return list
 */
 public Integer baseSelectBathPrimaryKeys(@Param("list") List<WmsReceiving> idList);

/**
 *修改 （匹配有值的字段）
 * @param entity 主键ID列表
 * @return int
 */
 public Integer baseUpdateByPrimaryKeySelective(@Param("WmsReceiving") WmsReceiving entity);

/**
 *修改（根据主键ID修改）
 * @param entity 主键ID列表
 * @return int
 */
 public Integer baseUpdateByPrimaryKey(@Param("WmsReceiving") WmsReceiving entity);
    /**
     *查询（单个预期到货通知单明细的总收货数量——Jane）
     * @param yqdmxid 预期收货单明细ID
     * @return int
     */
    public String baseSelectCountSl(@Param("yqdmxid") String yqdmxid);
    /**
     * 删除（批量删除预收货单一条信息的多条未上架信息）
     * @param yqdmxid 预期收货单明细ID
     * @return int
     */
    public Integer baseDeleteByYqdmxId(@Param("yqdmxid") String yqdmxid);
    /**
     *更新可用状态和取消信息——Jane）
     * @param entity 收货信息
     * @return int
     */
    public Integer baseUpdateByYqdmxId(@Param("WmsReceiving") WmsReceiving entity);

    /**
     *查询（查询单个明细Id下未上架的库存ID_Jane）
     * @param yqdmxid 预期收货单明细ID
     * @return int
     */
    public List<String> baseSelectKcid(@Param("yqdmxid") String yqdmxid);
    /**
     *查询ASN订单 获取质检状态_Jane）
     * @param id 预期收货单ID
     * @return int
     */
    public WmsEstimatedArrivalOrder selectASNdd(@Param("id") String id);
    /**
     *根据货品Id箱单位数量_Jane）
     * @param fphpid 货品ID
     * @return int
     */
    public String seachXdwsl(@Param("fphpid") String fphpid);
    /**
     *根据库位ID查询库位信息_Jane）
     * @param id 库位ID
     * @return int
     */
    public WmsLibraryPosition selectKwXx(@Param("id") String id);
    /**
     *根据库位ID查询库位信息_Jane）
     * @param fphpid 货品id
     * @return int
     */
    public WmsPackingDetailed seachTsl(@Param("fphpid") String fphpid);
    /**
     *根据库位ID查询库位信息_Jane）
     * @param kwid 库位ID
     * @return int
     */
    public Integer seachHpzlByKwid(@Param("kwid") String kwid);
    /**
     *查询此库位上是否有货品_Jane
     * @param kwid 库位ID
     * @param hpid 货品ID
     * @return int
     */
    public List<WmsStock> seachKwHaveHp(@Param("hpid") String hpid,@Param("kwid") String kwid);
    /**
     *计算一个库位上各个货品的数量_Jane
     * @param kwid 库位ID
     * @return int
     */
    public List<WmsStock> sumKwHaveHpsl(@Param("kwid") String kwid);
    /**
     *查询上架规则_Jane
     * @param owner 货主Id
     * @return int
     */
    public WmsShelfRule seachSjgz(@Param("owner") String owner);
    /**
     *查询取消收货的库存Id_Jane
     * @param yqdmxid 预期到货单明细ID
     * @return int
     */
    public List<String> seachKcid(@Param("yqdmxid") String yqdmxid);
    /**
     *根据库存Id删除自动上架信息列表_Jane
     * @param list 库存Id
     * @return int
     */
   public Integer baseDeleteSjByKcid(@Param("list") List<String> list);
    /**
     *根据预期单Id查询收货明细_Jane
     * @param ssyqdid 所属预期单ID
     * @return int
     */
   public List<WmsReceiving> selectMxByYqdid(@Param("ssyqdid") String ssyqdid);
    /**
     * 根据码盘ID查询码盘信息_Jane
     */
    public WmsPalletSorting seachMpxxByMpid(@Param("id") String id);

    /**
     *修 改库位占用情况_Jane
     * @param id 库位Id
     * @return
     */
    public Integer baseUpdateLibrarypositionByKwid(@Param("id") String id);

}
